﻿/**
 * This Source Code Form is copyright of 51Degrees Mobile Experts Limited.
 * Copyright (c) 2017 51Degrees Mobile Experts Limited, 5 Charlotte Close,
 * Caversham, Reading, Berkshire, United Kingdom RG4 7BY
 * 
 * This Source Code Form is the subject of the following patent
 * applications, owned by 51Degrees Mobile Experts Limited of 5 Charlotte
 * Close, Caversham, Reading, Berkshire, United Kingdom RG4 7BY:
 * European Patent Application No. 13192291.6; and
 * United States Patent Application Nos. 14/085,223 and 14/085,301.
 * 
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0.
 * 
 * If a copy of the MPL was not distributed with this file, You can obtain
 * one at http://mozilla.org/MPL/2.0/.
 * 
 * This Source Code Form is "Incompatible With Secondary Licenses", as
 * defined by the Mozilla Public License, v. 2.0.
 */

using FiftyOne.Foundation.Mobile.Detection;
using static FiftyOne.Foundation.Mobile.Detection.DataSetBuilder;
using File = System.IO.File;

namespace FiftyOne.Tests.Integration.DataSetBuilderTests
{
    public abstract class BufferBase : Base<BuildFromBuffer>
    {
        protected override BuildFromBuffer InitBuilder()
        {
            return Foundation.Mobile.Detection.DataSetBuilder.Buffer();
        }

        protected override IndirectDataSet BuildDataset(DataSetBuilder builder)
        {
            Utils.CheckFileExists(DataFile);
            byte[] data = File.ReadAllBytes(DataFile);
            return (builder as BuildFromBuffer).Build(data);
        }
    }
}
